WEBVTT 00:00.000 --> 00:14.640 This is Hacker Public Radio Episode 3,892 for Tuesday 4 July 2023. 00:14.640 --> 00:20.200 Today's show is entitled, Immax Package Curation Part 1. 00:20.200 --> 00:25.160 It is hosted by D&T and is about 36 minutes long. 00:25.160 --> 00:27.760 It carries a clean flag. 00:27.760 --> 00:42.480 The summary is, let's go through every single package installed in my Immax configuration. 00:42.480 --> 00:47.080 Hello and welcome to another exciting episode of Hacker Public Radio. 00:47.080 --> 00:49.320 This is your host D&T. 00:49.320 --> 00:55.280 It has been a while since my last one, but I am back and today I would like to talk to you 00:55.280 --> 01:04.400 about some Immax packages to paraphrase Black 2 and say, let's go through every single 01:04.400 --> 01:10.280 package installed in my Immax configuration. 01:10.280 --> 01:19.400 I have been using Immax for maybe 6 years or so. 01:19.400 --> 01:28.080 Probably most of what I use is just org mode to organize some of the stuff I do to think 01:28.080 --> 01:32.000 about it and write about all kinds of things. 01:32.000 --> 01:40.880 I use to use one of those so called Immax Distributions which is kind of like a pre-configured 01:40.880 --> 01:46.080 distribution of Immax that you can kind of further configure yourself, but that somebody 01:46.160 --> 01:54.800 else took care to set up a lot of things and that's really handy because often when you 01:54.800 --> 02:02.320 first download Immax, the thing is so minimal, then you can struggle to figure out what 02:02.320 --> 02:03.320 to do. 02:03.320 --> 02:09.040 That's not really true, that's a bit of an exaggeration I think, but that's what a lot 02:09.040 --> 02:14.720 of people feel like when they first open Immax after downloading it. 02:14.720 --> 02:20.320 And I certainly remember having that experience and then there are some distributions of 02:20.320 --> 02:27.720 which the most popular ones are called Doom and SpaceMax that kind of ease that experience 02:27.720 --> 02:35.680 and make it feel more like a more featureful text editor like the other ones we may 02:35.680 --> 02:37.280 be used to. 02:37.280 --> 02:42.480 That's a really handy thing to use those distributions, it's an excellent way to use 02:42.560 --> 02:48.480 Immax, but a lot of people will eventually move to having their own configuration which 02:48.480 --> 02:53.920 tends to be simpler and only limited to what you actually use, right? 02:53.920 --> 02:58.800 Because these Immax distributions there, you know, you would have to be a developer who 02:58.800 --> 03:06.440 can understand, I don't know, tens of languages to actually be able to use all of that. 03:06.520 --> 03:13.240 It's essentially it's trying to serve a lot of different people and you can actually make 03:13.240 --> 03:17.560 an Immax configuration that's just meant to serve you, right? 03:17.560 --> 03:23.320 And then what's interesting too is that the people that make these distributions like SpaceMax 03:23.320 --> 03:33.160 and Doom, they also do, in addition to providing the distribution which is very fancy 03:33.240 --> 03:39.640 and itself, they also do a significant service in curating the packages that are out there. 03:40.440 --> 03:48.280 And this is a little like, Emax is a little like Lattec, the type setting system, otherwise, 03:48.280 --> 03:56.120 known as Lattec, it where there's like thousands and thousands of libraries and 03:57.080 --> 04:03.560 packages created by others, not created by those who make the system itself. 04:05.080 --> 04:09.000 And without using those packages, you're really pretty limited. 04:10.280 --> 04:18.360 It's kind of like the actual experience of using Immax, in my opinion, involves using 04:18.440 --> 04:25.400 packages that people have written that make Emax what it is to most people. 04:26.360 --> 04:33.560 In building my own configuration, eventually I did go through a lot of the modules that I used 04:33.560 --> 04:40.680 in Doom before doing this and I actually looked into what all those packages were, what they do 04:41.400 --> 04:46.600 and then I picked the ones I actually want to use. And of course, I did this over a long time, 04:46.840 --> 04:57.000 and I started making this my own configuration a while ago and I would just, I would just basically 04:57.000 --> 05:05.400 test it. I wouldn't really use it, I still used Doom for my everyday work, but then eventually, 05:05.400 --> 05:10.680 you know, as tends to happen, then you get to a point where the thing is usable and then you can 05:10.760 --> 05:16.280 start using it and then you kind of speed up improving it until it gets to a stable point. 05:16.840 --> 05:22.360 So that's where I'm at now. So anyway, I made a configuration that's made up of three files 05:24.040 --> 05:30.680 and the purpose of it is that I will load the first file and then the other two files will load 05:30.680 --> 05:36.360 conditionally depending on my environment and the purpose there is so that I can have the same 05:37.000 --> 05:44.760 configuration on my Linux laptop, on my Windows computer that I was for work and also on 05:44.760 --> 05:52.280 termux on Android, which I don't use very much there, but anyway, I figured I would do that anyway. 05:53.080 --> 06:00.440 So basically, termux will load only the first file, then on Windows it will load the first in the 06:00.520 --> 06:06.680 second file and on Linux it will load all three files. So that allows me to have a configuration that 06:06.680 --> 06:12.200 works on all three and I don't have to make changes to the configuration I can basically, 06:12.760 --> 06:19.160 I can push a change to it on my Linux laptop and then I can pull it later on Windows and it will 06:19.160 --> 06:26.040 still work there as well. And then the other thing, the, I think maybe a good reason to use 06:26.120 --> 06:31.880 your own configuration is, is that it's a lot easier to make it light enough to work well 06:32.680 --> 06:37.080 on different systems, especially Windows because if you max on Windows, it's pretty tricky. 06:37.960 --> 06:46.040 It gets slow very fast. So all these distributions, I think, are nearly unusable on Windows. 06:46.840 --> 06:51.960 So, but my configuration is perfectly usable on Windows, it works very well for me. 06:52.760 --> 07:02.360 Starting with the first file, we start out with this bootstrap boilerplate stuff that's 07:02.360 --> 07:10.040 supposed to pull in a package that's called Strait and Strait is one of the package managers that 07:10.040 --> 07:17.320 exist for imacts. So Strait is going to install the other packages that I'm going to use. 07:18.280 --> 07:25.400 So we install Strait, then using Strait, we install another package manager of sorts, 07:25.400 --> 07:31.960 that's called Use Package, that's a very popular one. It's so popular that you'll often have 07:32.920 --> 07:39.240 packaged developers will have use package snippet for installing and configuring their package. 07:40.200 --> 07:47.000 It's very common to see that. So, then we, the rest, pretty much the rest of my configuration is 07:47.080 --> 07:54.600 just a series of use package incantations, let's say. And then we start off with a package 07:54.600 --> 08:04.360 that's called Dimanish. It's a very simple one. So imacts is mainly made up of major modes and minor modes. 08:04.360 --> 08:12.200 So major modes are generally associated with the type of file you're opening. So, for example, 08:12.280 --> 08:19.800 there could be a major mode for viewing your emails and there could be a major mode for editing 08:19.800 --> 08:28.840 Python files or or mode is a major mode. For example, for editing or files. So the major mode 08:28.840 --> 08:35.800 will make a bunch of key bindings and things, syntax, highlighting, and all that kind of thing 08:36.520 --> 08:43.480 available to you when you are in this mode, right? And obviously you want to enter this mode 08:43.480 --> 08:48.680 automatically when you open a file into which you'd be appropriate to have this mode turned on. 08:48.680 --> 08:56.120 And then minor modes are modes that you can have multiple of them activated at the same time. 08:56.120 --> 09:02.360 So minor modes are like more minor tweaks to your experience of using email, 09:03.320 --> 09:09.000 whereas a major mode you can only be in one major mode at a time, right? So minor modes, 09:10.600 --> 09:19.720 they can do things like check your syntax or spelling and highlight words, you know, 09:19.720 --> 09:27.560 to like underline a misspelled word, for example, let's say. They can also, I don't know, do things like 09:28.200 --> 09:35.240 restrict the width of your text block on your screen or, you know, that kind of thing. So 09:36.440 --> 09:43.480 well, and anything else you can imagine, probably. So when you have a minor mode activated, 09:43.480 --> 09:50.680 the name of this minor mode in this kind of a short hand form will appear in your mode line. 09:51.560 --> 09:57.720 The mode line is this line at the bottom of your screen in email. So the minor modes will all 09:57.720 --> 10:03.640 appear there. So, but there are some modes that you basically have them on all the time. So you 10:03.640 --> 10:09.960 don't really care to see them there all the time. So the package diminishes helps you hide 10:10.680 --> 10:21.480 these minor mode flags based on the mode, right? So it integrates with use package. So that 10:21.480 --> 10:30.760 when I make my use package in cantations to pull in all my packages, I have an option that says 10:30.760 --> 10:40.040 diminish and then I can, well, if I just turn on that option, then this minor mode that's associated 10:40.040 --> 10:46.760 with the package or a minor mode that I can name explicitly will be diminished, which means it will 10:46.840 --> 10:59.400 not be reported in my mode line. Okay. Next we have evil. Evil is the Emax Vi layer. It's for, 11:00.680 --> 11:07.000 there's a saying that goes Emax is like the only thing, something like the only thing that 11:07.000 --> 11:15.000 Emax is missing is a good text editor. So evil is a package that fixes that by making it work, 11:15.960 --> 11:24.600 like a modal editor in the sense of VIM or a Vi. So yeah, basically it just implements the modes, 11:24.600 --> 11:33.000 the editing modes, like insert mode, normal mode, visual mode, and so on. And it implements all of your 11:35.480 --> 11:42.520 key bindings just like in VIM. So if you're used to VIM, you can use VIM in Emax and then it's going to be 11:42.600 --> 11:51.720 pretty good. Not that I really think that the Emax key bindings and that whole thing is necessarily 11:51.720 --> 12:00.520 terrible, but in my opinion it's like the VIM way of editing a text file where you have these modes 12:00.520 --> 12:10.760 you switch between you enter insert mode and then you exit it and so on. It's objectively better in my 12:11.640 --> 12:18.920 opinion, because it's like a transient mode you don't have to keep holding down a key to remain in this mode 12:18.920 --> 12:26.120 that you generally are going to stay in for a bit when you enter it. Although I guess when you leave it, 12:27.480 --> 12:34.520 it's kind of more temporary, but that's the risk that happens with Emax modes and that kind of mode, 12:34.600 --> 12:42.040 is accidentally editing your text, right? And that's what VIM editing helps with, you don't 12:42.040 --> 12:48.120 ear less likely to edit your text accidentally. So when in the use package and 12:48.120 --> 12:57.880 plantation here we can create some configurations like binding keys and setting other variables to 12:57.880 --> 13:03.960 configure the behavior of this package. So the use, that's what the use package package does. 13:03.960 --> 13:13.960 It just helps you kind of have a very tidy looking configuration. You just make this one self-contained 13:13.960 --> 13:21.880 declaration, use package, evil and then all your configuration and all your bindings so that if you 13:21.960 --> 13:27.960 stopped using evil, all of a sudden you could just delete that entire block and you wouldn't have to do 13:27.960 --> 13:36.840 anything else. So moving on we have evil collection and that's a whole bunch of kind of other 13:36.840 --> 13:44.040 bindings and integrations with other packages. It's like sometimes you install evil collection and then 13:44.680 --> 13:53.080 you start using not much for your email in Emax for example and then you don't even realize that the 13:53.080 --> 14:00.840 evil bindings for the not much mode actually come from the evil collection package. You would have to go 14:00.840 --> 14:07.480 in and read the package, the evil collection package files to even realize that that's the case. 14:08.040 --> 14:14.360 Then I have a package that's called evil surround and I think there is a corresponding 14:14.360 --> 14:22.200 vim package that's surround so you know it's this provides those commands where you can select some 14:22.200 --> 14:29.480 text and then press a key and then press another key and you will surround the text with something. 14:29.480 --> 14:39.080 So like I can select a word, press the s key and then the parenthesis key and it'll surround my 14:39.080 --> 14:44.600 word in parenthesis, right the opening and the closing parenthesis. Next we have company, 14:45.400 --> 14:52.440 company is an in buffer completion package. In buffer completion means you're in the buffer 14:52.440 --> 14:59.320 you're editing your text file or whatever and you can start typing something and this package will 14:59.880 --> 15:07.640 provide completion. It'll show you, you know, it'll or show you options about what you're trying 15:07.640 --> 15:13.080 to type that's in the buffer right when you're editing your actual file and then we have company box. 15:13.080 --> 15:20.040 That's a connect with company and company boxes. It just shows kind of like a fancy or 15:20.040 --> 15:27.960 completion and I think it's this package that provides a pretty nice thing where if I'm editing 15:28.680 --> 15:33.240 elisp file for example, which is the type of file that emacs is configured with, 15:35.160 --> 15:41.720 I can start typing the name of a function and then it'll show me the completion options and I can 15:42.120 --> 15:49.160 press up and down to view each one and it will actually show me the documentation of the function 15:49.800 --> 15:56.040 in another kind of tool tip thing. So that is pretty cool to be able to see all that so quickly. 15:57.640 --> 16:04.680 Anyway, but there are other ways to do it if you prefer, if you prefer a more quiet experience. 16:04.760 --> 16:13.560 So, all right next is the package called which key in which key is another essential one where you 16:13.560 --> 16:24.840 as you start typing keys to activate commands, which key will show you what are the options you have 16:24.840 --> 16:31.960 now and what they will do. So for example, in emacs, there are two very important keys that are 16:32.120 --> 16:38.840 control X and control C. So control X is basically about the application options about the 16:38.840 --> 16:47.880 application will be behind the control X binding and option about modes, especially major modes will be 16:48.520 --> 16:57.160 behind control C. So then I might press control C and then after about like half a second or something, 16:57.240 --> 17:04.040 which key will show me on the bottom of my screen it will kind of expand the area where the 17:04.040 --> 17:11.480 mode line is and show me all the different options that I can press next and what they will do. 17:11.480 --> 17:19.880 For example, it might show me let's see control C then I'm seeing exclamation point as a 17:19.880 --> 17:27.000 prefix. So if I press that it means I'm going to go to another set of options and if I 17:27.480 --> 17:37.640 press Alt P, I will open the Perspective Map which is to do with another package that we'll see later on that's kind of like 17:37.640 --> 17:45.960 workspaces and if I press G, I activate right good mode which is another package we'll see later on. 17:45.960 --> 17:54.760 So this means if I press G and now I will turn on right good mode. So the full command I ran was 17:54.840 --> 18:04.200 control C and then G. Anyway, so that's what which key does. Next we have Nzoo, A and Z, U, no idea 18:04.200 --> 18:13.640 that's the right way to say that. But the Nzoo I believe it gives you feedback about your search queries 18:13.640 --> 18:23.240 when you're when you're doing a search in your buffer it shows you everywhere the term occurs as you 18:23.400 --> 18:30.520 aren't typing in. I've never really tested this Sabeline this package to see what it will do. 18:31.640 --> 18:38.040 What what this will look like without that. So I don't know I could be slightly wrong about what this 18:38.040 --> 18:47.640 package does but anyway I have it installed that's yeah that might happen. Next we have Vertico. 18:48.360 --> 18:59.320 So Vertico is I guess they call it Vertico completion and this is completion in the mini buffer. 18:59.320 --> 19:06.280 The mini buffer is the area at the very bottom of your screen under the mode line where you 19:06.280 --> 19:14.280 enter commands and things like that where you see commands at times for example if you run 19:14.280 --> 19:21.000 something that requires decrypting something using your GPG key the mini buffer might be where you type 19:21.000 --> 19:30.680 your GPG key passphrase for example. So Vertico is one of the nice things about it is in comparison 19:30.680 --> 19:39.880 to other mini buffer completions I guess if that makes sense is that others you have to re-bind a lot of 19:39.880 --> 19:48.760 keys for things to go through the completion and it seems like Vertico somehow does it on its own. 19:48.760 --> 19:55.000 So if you have Vertico installed and then so for example if you're going to search files 19:56.120 --> 20:03.400 you're going to search a file to open right normally you would type in at the bottom of your screen 20:03.480 --> 20:09.720 in the mini buffer and I think by default there is some completion but it's like horizontal 20:10.360 --> 20:15.720 the so the different completion options up your side by side only on the bottom line of your screen 20:17.480 --> 20:25.800 and then with one of these Vertical completion packages it shows as a list right vertically 20:26.680 --> 20:35.080 and a lot of these other packages you have to remap the key that the command to open files which 20:35.080 --> 20:41.400 control X control F you have to remap that to a different command that would be called I don't know 20:41.400 --> 20:50.600 maybe like council find file for the council completion package and with Vertico you don't have to do 20:50.680 --> 20:56.040 that I don't know why it is I haven't looked at the code but anyway so I copied a bunch of 20:56.760 --> 21:07.560 I guess boilerplate from the Vertico GitHub they have a few other commands that they suggest you use 21:08.120 --> 21:16.280 in your configuration and within use package declaration for e-max itself I didn't know you could 21:16.280 --> 21:21.880 do that and I to be honest I haven't really looked through this to understand very well what it does 21:21.880 --> 21:28.600 I just copied and paste it sorry about that but it's pretty short I don't think it's doing anything 21:28.600 --> 21:35.800 very revolutionary so next we have the package order list order list is a pretty cool package 21:36.440 --> 21:45.160 it's anytime you're using the Vertical completion it allows you to type terms not in the same order 21:46.600 --> 21:54.760 as the appear in your match so let's say if you have a file called full bar in your home directory 21:55.400 --> 22:03.720 and you want to open it you can press control X control F and then you could type bar space full 22:03.720 --> 22:11.160 and the Vertico would still find the file for you it would still show you as a match even though you 22:11.240 --> 22:17.880 typed bar and then full but the file name is full bar next we have marginalia 22:19.320 --> 22:27.800 that's a very nice one too marginalia is in Vertico as well it will show you a bunch of 22:27.800 --> 22:38.120 information alongside the match it's showing you so for example when you press alt X which is the 22:38.120 --> 22:48.520 command to just it's to run an e-max command not by a key binding but by just typing out the 22:48.520 --> 22:59.400 command so this is similar to pressing the colon key on VIM you you can type your commands there this 22:59.400 --> 23:09.160 is using Vertico to show me all the options I have to choose from and then it actually tells me 23:09.160 --> 23:16.520 to the right of it it actually says what the command does this is taken from the the functions 23:16.520 --> 23:24.760 from the commands dock strain right that short little strain that explains what the what the 23:24.840 --> 23:32.600 command does so marginalia is to be thanked for that that's the package that makes that happen 23:32.600 --> 23:38.040 so it does that for all kinds of different things as well like it will show you some of the 23:38.040 --> 23:43.880 permissions information when you're looking at files and that's pretty clever so 23:45.320 --> 23:52.120 all right moving on this is all I think this is all coming mostly from the the Vertico snippet 23:52.120 --> 23:57.800 they kind of suggest you use a bunch of other packages alongside it as you can see all these 23:57.800 --> 24:03.720 packages integrate pretty closely with Vertico and they provide all the use package declarations 24:03.720 --> 24:10.200 for you so you can just copy and paste all this if you want so the next one is called consultant 24:10.200 --> 24:19.640 and this is about searching for text as a bunch of new commands related to searching for text 24:19.720 --> 24:26.360 in your in your files in your buffer etc okay the next one is called perspective and that's 24:26.360 --> 24:33.640 kind of like work spaces so you know let's say I'm working here I have my my main org file 24:34.520 --> 24:40.200 and then I call up my agenda then I'll see the agenda on the right side 24:41.000 --> 24:48.760 the the window will be split and on the right I'll see the agenda on the left I'll see my main org 24:48.760 --> 24:53.480 file and then let's say all of a sudden I want to quickly open this other file but I want to be 24:53.480 --> 25:01.080 able to come back quickly to this arrangement I have here that's what perspective is for you just 25:01.080 --> 25:06.920 create a new perspective give it a name then do I ever you want to do then you can switch back to the 25:06.920 --> 25:14.280 old perspective and it's right there just like you left it all right then next we have doom themes 25:15.240 --> 25:22.920 is provided by doom e-max the e-max distribution it's all of their themes so the effects 25:22.920 --> 25:30.440 all the colors and including the syntax highlighting etc so I like those they're they're pretty good 25:30.440 --> 25:37.800 so I use the default one from doom let's call doom one so I just call in this package 25:37.800 --> 25:45.080 don't themes and then I load the doom one theme next we have power line power line is a 25:45.800 --> 25:55.160 is a mode line theme so the mode line is that bottom of the screen there power line is you know 25:55.160 --> 26:01.320 it defines what will appear in the mode line exactly so it adds a bunch of different things it shows 26:01.320 --> 26:11.720 like the VIM mode that I'm on it shows what branch I'm on if if the file is get is under get 26:13.320 --> 26:21.400 it shows the name of the perspective I'm on and all that kind of thing then next I'm so next I have 26:21.480 --> 26:31.720 airline themes so airline themes is a different theme for power line so there's a this is exactly 26:31.720 --> 26:39.320 like the the VIM airline package that exists for VIM that some of you may know so it just changes the 26:39.320 --> 26:48.680 look of your mode line like the way it looks next we have solar mode solar mode all it does is 26:49.400 --> 26:58.600 whenever you create a buffer that is not showing you a file that buffer will be darker than the 26:58.600 --> 27:07.160 regular buffers so let's say I again that example where I'm looking at my main org file where all my 27:07.960 --> 27:16.280 to do is are listed and project notes or whatever it is or things that have come to my attention 27:16.440 --> 27:23.480 they're all in there and I open the my agenda the agenda is one of these kind of fake 27:23.480 --> 27:30.600 buffers let's say so that'll be shown on the right and in the background will be darker than 27:30.600 --> 27:37.080 my regular buffer it's kind of nice to have that distinction between these sort of transient 27:37.080 --> 27:43.960 buffers in your actual editing buffers so I like that next we have yes snippet 27:44.920 --> 27:52.520 YA snippet it is yet another snippet management package it's a very popular one I think 27:52.520 --> 28:00.200 pretty much everybody uses this one and you know you have snippets you can make keep them in a 28:00.200 --> 28:07.880 directory and then you can quickly paste them into your file nothing much to say here not much of 28:07.880 --> 28:16.280 mystery there next we have projectile that's to do with project management I to be honest I don't 28:16.280 --> 28:24.120 use it a whole lot I merely just use it for the projectile ripgrap command which is it just 28:24.120 --> 28:34.360 runs a search you know the files that are in the same get checkout that I'm in so yeah I'm you know 28:34.440 --> 28:41.240 you're in a repository and you want to quickly search through everything you can use the this projectile 28:41.240 --> 28:47.160 ripgrap command it does a whole bunch of other stuff I'm sure but I don't use much of it 28:47.880 --> 28:57.160 and next we have RGRGS just to use ripgrap within e-max that's all it does ripgrap is like a pretty 28:57.160 --> 29:06.280 nice grab command that will basically grab all the files in the directory here in so it's like 29:06.280 --> 29:20.040 grab from multiple files I guess then we go on to org so org is org mode it is that sort of project management 29:20.040 --> 29:35.320 document writing package and syntax format whatever you want it's that one then you should never 29:35.880 --> 29:40.280 decide you're going to stop using it because you're just going to come back to it later so 29:41.240 --> 29:48.840 it is that thing that some humanity has been trying to reinvent ever since it first came into 29:48.840 --> 29:58.040 existence and it has so far failed so like I was just saying if you use org and you start thinking 29:58.040 --> 30:03.400 about stopping and switching to something else just don't because you're just going to come back to it 30:03.880 --> 30:12.680 and if you don't use org you know hopefully you will so we could spend hours and hours talking 30:12.680 --> 30:22.280 about this so let's not moving on org up here is a package that when you're editing your org file 30:22.600 --> 30:33.240 there are some things that by default the org mode the major mode will hide from you and it'll 30:34.520 --> 30:40.120 to make it look more readable right and then there's a command that's called visible mode 30:40.120 --> 30:45.560 then makes everything show all the actual plain text will actually be displayed in buffer 30:46.440 --> 30:52.840 so a lot of times you want to do that you want to turn on visible mode quickly to make a very 30:52.840 --> 31:01.640 targeted edit let's say so this org up here makes it so when you enter insert mode in a line just 31:01.640 --> 31:09.560 that line will have visible mode activated and next we have evil org which is just key bindings for 31:09.560 --> 31:22.280 Vim like key bindings for org mode then moving on we have some kind of general settings here 31:23.480 --> 31:32.120 we I guess I'll call out just you know I hide the scroll bar I hide the menu bar and the toolbar 31:32.120 --> 31:39.240 so there are no window decorations at all I set up where my custom file is going to be 31:39.240 --> 31:46.360 which is a this file that it's going to store some information some some kind of transient 31:46.360 --> 31:53.560 configuration information let's say I'll make it I'll say that so yeah you're supposed to tell it 31:53.560 --> 31:59.400 where you want it to be otherwise it's just going to put it at the bottom of my configuration file 31:59.400 --> 32:05.080 but I don't want that because then it's going to keep showing up and get as changes right 32:06.040 --> 32:13.160 then I have a conditional commands here when I have a window system running I already touched on 32:13.160 --> 32:18.520 those the scroll bar menu bar and toolbar so I'm turning those off when there's a window system 32:18.520 --> 32:25.000 on because if there's not the commands it just cannot fail and then I have display time display 32:25.000 --> 32:32.200 battery mode the display those two things in my mode line here because otherwise don't have any kind of 32:32.200 --> 32:41.560 task bar or anything next we have server start and what that allows is for you to 32:43.560 --> 32:51.240 quickly and I'm in kind of an easier way just open a new buffer in this email instance instead of 32:51.800 --> 32:58.760 opening a new instance right I guess that's kind of a decent way to explain that anyway so then I have 32:58.840 --> 33:07.560 the conditional logic here for loading the other two files so if I am if there's a window system 33:07.560 --> 33:16.440 I'm going to load the next file that I call in it base and then if my window system is from 33:16.440 --> 33:23.880 Microsoft then I will load I mean unless it is from Microsoft excuse me then I will load the next one 33:23.960 --> 33:31.480 which is in it extra so basically the only case where there's not going to be a window system 33:31.880 --> 33:38.360 is going to be termux or if I happen to open e-max in the terminal before starting x 33:40.360 --> 33:49.640 in the console excuse me or if I'm on termux on my phone so that'll load only this stuff which is 33:49.720 --> 33:56.600 basically just the basics for me to look at or and even more than that honestly but I don't know 33:56.600 --> 34:04.520 it's fine and then if there is a window system we will load the next file which is in it base which 34:04.520 --> 34:15.080 has a few more things that I use both at work and on my Linux laptop and finally if if we are not 34:15.080 --> 34:23.320 on that Microsoft display server then we will load the last file so that file will only be loaded 34:23.320 --> 34:32.840 when I open e-max on my Linux laptop and finally we have the line that says provide in it 34:33.480 --> 34:41.880 provide in it it's it just tells e-max then this is what we're going to call the stuff that this 34:41.960 --> 34:49.000 file is providing we're going to call it in it in this case it doesn't do anything I will come back later 34:49.000 --> 34:58.280 with another one where I'll go through the packages in it base in it extra so my hope is that you know 34:58.280 --> 35:03.640 maybe you'll learn about a couple packages here and there that maybe you didn't know about if you 35:03.720 --> 35:14.280 use e-max and maybe you'll try them out otherwise hopefully this will lead you to try out space 35:14.280 --> 35:21.320 max or dome or even my configuration here which I'll make available in the notes okay 35:22.520 --> 35:28.840 alright thank you for tuning in now if you have time you can do like I'm doing here and the 35:28.840 --> 35:35.320 after work you just get in front of your computer pick up your phone and start talking into it just 35:35.320 --> 35:42.520 go on and on about you know this stuff that maybe there'll be like two or three other people who 35:42.520 --> 35:50.520 will be interested in listening to it right hopefully there are some e-max fans out there that will 35:50.600 --> 35:58.440 sit through thirty minutes of this alright anyway so I hope we will hear from you soon 35:59.720 --> 36:06.280 just record your episode and send it into hacker public radio so you weaken get to know you and 36:06.280 --> 36:15.000 listen to you thank you and come back tomorrow for another one bye 36:15.560 --> 36:20.440 you have been listening to hacker public radio at hacker public radio dot org 36:20.440 --> 36:26.600 today's show was contributed by a hbware listener like yourself if you ever thought of recording 36:26.600 --> 36:34.040 podcast click on our contribute link to find out how easy it means hosting for hbware has been 36:34.040 --> 36:42.280 kindly provided by an onsthost.com the internet archive and our synced.net on the satellite stages 36:42.280 --> 36:53.000 today's show is released on our creative comments attribution for pointo international license